#pragma once
#include<initializer_list>
//#include "String_Addition.h"
//#include "Flip_String_II.h"
//#include"String_multiplication.h"
//#include"Copy_Zero.h"
//#include"happy_number.h"
//#include"Sum_of_Three_Numbers.h"
//#include"Sum_of_Four_Numbers.h"
#include"The_subarray_with_the_smallest_degree.h"

struct test
{
	test(){}
	template<class T>
	test(initializer_list<T> il = { 0,0,0 })
	{
		for (auto& e : il)
		{
			_v.push_back(e);
		}
	}

	template<class T>
	void Print(const T& tmp)
	{
		for (const auto& e : tmp)
		{
			cout << e << " ";
		}
		cout << endl;
	}

	void Test_Class()
	{
		//Test_String_Addition();
		//Test_Flip_String_II();
		//test_String_Multiplication();
		//test_Copy_Zero();
		//test_happy_number();
		//vector<vector<int>> vv = Solution().threeSum(_v);
		//vector<vector<int>> vv = Solution().fourSum(_v, _target);
		cout << Solution().minSubArrayLen(_target, _v) << endl;
	}

	//void Test()
	//{
	//	vector<vector<int>> v1;
	//	vector<vector<int>> v2;

	//	v1.push_back({ 1,2,3,4 });
	//	v2.emplace_back(1,2,3,4);

	//}

private:
	vector<int> _v = { 5,1,3,5,10,7,4,9,2,8 };
	int _target = 15;
};